home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-28 | 4.7 KB | 161 lines |
- 10 'GAMMATCH - Gamma Match Design - 15 SEP 96 rev.27 SEP 96
- 20 'Ref. The ARRL Antenna Book, 17th Edition, page 26-20
- 30 PRINT "After R. Nelson, WB0IKN, Ham Radio, Jan 1985"
- 40 IF EX$=""THEN EX$="EXIT"
- 50 CLS:KEY OFF
- 60 COLOR 7,0,1
- 70 DEF FNCSH(X)=LOG(X+SQR(X^2-1))
- 80 PI=3.14159
- 90 E$=STRING$(80,32)
- 100 U$="#####.###"
- 110 UL$=STRING$(80,205)
- 120 '
- 130 COLOR 15,2
- 140 PRINT " GAMMA MATCH";TAB(57);"by George Murphy VE3ERP ";
- 150 COLOR 1,0:PRINT STRING$(80,223);
- 160 COLOR 7,0
- 170 '
- 180 '.....start
- 190 COL=13:GOSUB 1090:PRINT UL$; 'diagram
- 200 GOSUB 1280:PRINT UL$; 'credits
- 210 PRINT " Press number in < > to:
- 220 PRINT UL$;
- 230 PRINT " < 1 > RUN program in S.I.(metric) units"
- 240 PRINT " < 2 > RUN program in U.S.(inches) units"
- 250 PRINT
- 260 PRINT " < 0 > QUIT"
- 270 Z$=INKEY$:IF Z$=""THEN 270
- 280 IF Z$="0"THEN RUN EX$
- 290 IF Z$="1"THEN UM=2.54:UM$="cm ":GOTO 320
- 300 IF Z$="2"THEN UM=1 :UM$="in.":GOTO 320
- 310 GOTO 270
- 320 VIEW PRINT 13 TO 24:CLS:VIEW PRINT:LOCATE 13
- 330 GOSUB 1380:PRINT UL$;
- 340 COLOR 0,7
- 350 PRINT " Is this design for a (m)onopole or (d)ipole? (m/d)"
- 360 COLOR 7,0
- 370 DM$=INKEY$
- 380 IF DM$="m"THEN M$="MONOPOLE ANTENNA":GOTO 410
- 390 IF DM$="d"THEN M$="DIPOLE ANTENNA":GOTO 410
- 400 GOTO 370
- 410 VIEW PRINT 13 TO 24:CLS:VIEW PRINT:LOCATE 13
- 420 LOCATE ,(80-LEN(M$))/2
- 430 PRINT M$
- 440 '.....data input
- 450 VIEW PRINT 14 TO 24:CLS:VIEW PRINT:LOCATE 14
- 460 INPUT " ENTER: Frequency...................................(MHz)";F
- 470 ZZ=F:GOSUB 1230:PRINT " MHz"
- 480 INPUT " ENTER: Feed point resistance......................(ohms)";RA
- 490 ZZ=RA:GOSUB 1230:PRINT " -"
- 500 LN=CSRLIN
- 510 COLOR 0,7
- 520 PRINT " Is the reactance of the antenna (c)apacitive or (i)nductive? (c/i) "
- 530 COLOR 7,0
- 540 Z$=INKEY$:IF Z$=""THEN 540
- 550 IF Z$="c"THEN Y$="Capacitive":GOTO 580
- 560 IF Z$="i"THEN Y$="Inductive":GOTO 580
- 570 GOTO 540
- 580 LOCATE LN:PRINT E$;:LOCATE LN
- 590 PRINT " ENTER: ";Y$;" reactance (ohms)";
- 600 INPUT XA:XA=ABS(XA):IF Z$="c"THEN XA=-XA:J$="- j"ELSE J$="+ j"
- 610 XA$=STR$(ABS(XA)):XA$=RIGHT$(XA$,LEN(XA$)-1)
- 620 LOCATE LN:PRINT E$;:LOCATE LN
- 630 PRINT " Driven element impedance.........................";
- 640 PRINT RA;J$;XA$;" -"
- 650 IF DM$="d"THEN RA=RA/2:XA=XA/2
- 660 INPUT " ENTER: Feed line impedance........................(ohms)";RO
- 670 ZZ=RO:GOSUB 1230:PRINT " -"
- 680 PRINT " ENTER: Driven element diameter.....................(";UM$;")";
- 690 INPUT ZZ:GOSUB 1230
- 700 PRINT " ";UM$:DE=ZZ/UM
- 710 PRINT " ENTER: Gamma rod diameter..........................(";UM$;")";
- 720 INPUT ZZ:GOSUB 1230
- 730 PRINT " ";UM$:DR=ZZ/UM
- 740 PRINT " ENTER: Gamma rod/driven element spacing............(";UM$;")";
- 750 INPUT ZZ:GOSUB 1230
- 760 PRINT " ";UM$:S=ZZ/UM
- 770 EQ1=FNCSH((4*S^2-DE^2+DR^2)/(4*S*DR))
- 780 EQ2=FNCSH((4*S^2+DE^2-DR^2)/(4*S*DE))
- 790 HZ=(1+EQ1/EQ2)^2
- 800 ZO=60*FNCSH((4*S^2-DE^2-DR^2)/(2*DE*DR))
- 810 T=HZ/ZO
- 820 A=((RO*XA)/(HZ*RA-RO))
- 830 B=(RO*(RA^2+XA^2))/(HZ*RA-RO)
- 840 Q=A+SQR(A^2+B)
- 850 XS=HZ*((RO*XA+SQR((RO*XA)^2+RO*(HZ*RA-RO)*(RA^2+XA^2)))/(HZ*RA-RO))
- 860 LDRA=ATN(Q*T)
- 870 LDR=LDRA*180/PI
- 880 E=(RO/RA)*((RA^2+XA^2)/Q)
- 890 G=(RO/RA)*XA
- 900 CR=10^6/(2*PI*(E+G)*F)
- 910 IF DM$="d"THEN RA=RA*2:XA=XA*2
- 920 PRINT " Gamma rod electrical length......................";
- 930 PRINT USING U$;LDR;:PRINT " <UNK! {00F8}>"
- 940 IN=(948/F)*(LDR/360)*12
- 950 PRINT " Gamma rod physical length......................G=";
- 960 PRINT USING U$;IN*UM;:PRINT " ";UM$
- 970 PRINT " Setting of variable capacitor Cvar.............C=";
- 980 PRINT USING U$;CR;:PRINT " pF"
- 990 GOSUB 1480 'hardcopy
- 1000 LOCATE 25,1:PRINT E$;:LOCATE 25,30:COLOR 15,1
- 1010 PRINT " Do another? (y/n) ";
- 1020 COLOR 7,0
- 1030 Z$=INKEY$:IF Z$=""THEN 1020
- 1040 IF Z$="y"THEN 440
- 1050 IF Z$="n"THEN CLS:GOTO 130
- 1060 GOTO 1030
- 1070 END
- 1080 '
- 1090 'diagram
- 1100 COLOR 0,7
- 1110 LOCATE ,COL:PRINT " "
- 1120 LOCATE ,COL:PRINT " CALLDEFSNGSOUNDSOUND G SOUNDSOUNDDEFDBLCALL "
- 1130 LOCATE ,COL:PRINT " CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND equal SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND equal SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL "
- 1140 LOCATE ,COL:PRINT " THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENFNTHENTHENTHENTHENTHENTHENTHENTHENFNTHENTHENTHENTHENTHENTHENTHENTHENTHENCSRLINTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHEN "
- 1150 LOCATE ,COL:PRINT " driven element SOUND' CALL Cvar CSRLINDEFSNGSOUND shorting bar "
- 1160 LOCATE ,COL:PRINT " shield SOUNDDEFDBLCALLVARPTR<0xB4!>PSETTHENTHENTHENTHENTHENTHENCSRLINTHEN DEFSNGSOUND gamma rod "
- 1170 LOCATE ,COL:PRINT " CLSCSRLIN "
- 1180 LOCATE ,COL:PRINT " CSRLIN DEFSNGSOUND 50- or 75- coaxial "
- 1190 LOCATE ,COL:PRINT " <0xDF!> feed line "
- 1200 COLOR 7,0
- 1210 RETURN
- 1220 '
- 1230 '.....format input line
- 1240 LOCATE CSRLIN-1:PRINT SPC(7);
- 1250 LOCATE CSRLIN,47:PRINT STRING$(11,".");USING U$;ZZ;
- 1260 RETURN
- 1270 '
- 1280 '.....credits
- 1290 K=9
- 1300 PRINT TAB(K);
- 1310 PRINT "This program is derived from a program appearing in the ARRL"
- 1320 PRINT TAB(K);
- 1330 PRINT "ANTENNA BOOK, 17th Edition, page 26-20, based on an original"
- 1340 PRINT TAB(K);
- 1350 PRINT "program by R.A.Nelson, WB0IKN, in HAM RADIO, Jan.1985, page 29."
- 1360 RETURN
- 1370 '
- 1380 '.....foreword
- 1390 K=7
- 1400 PRINT TAB(K);
- 1410 PRINT "The Gamma match will match a coaxial cable feed line to a vertical"
- 1420 PRINT TAB(K);
- 1430 PRINT "monopole (e.g. a shunt-fed tower), or a dipole (e.g. the driven"
- 1440 PRINT TAB(K);
- 1450 PRINT "of a beam)."
- 1460 RETURN
- 1470 '
- 1480 'HARDCOPY
- 1490 GOSUB 1600:LOCATE 25,2:COLOR 14,6
- 1500 PRINT " Press 1 to print screen, 2 to print screen & ";
- 1510 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 1520 Z$=INKEY$:IF Z$="3"THEN GOSUB 1600:RETURN
- 1530 IF Z$="1"OR Z$="2"THEN GOSUB 1600:GOTO 1550
- 1540 GOTO 1520
- 1550 FOR QX=1 TO 24:FOR QY=1 TO 80
- 1560 LPRINT CHR$(SCREEN(QX,QY));
- 1570 NEXT QY:NEXT QX
- 1580 IF Z$="2"THEN LPRINT CHR$(12)
- 1590 GOTO 1490
- 1600 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-